/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef SET_KEY_EVENT_KEY_CODE_TEST_H
#define SET_KEY_EVENT_KEY_CODE_TEST_H

#include "napi/native_api.h"
#include <js_native_api_types.h>
#include <vector>

void addSetKeyEventKeyCodeTest(std::vector<napi_property_descriptor>& descData);

napi_value OHInputInjectKeyEventB(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventE(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventG(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventH(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventI(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventJ(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventK(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventL(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventM(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventN(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventO(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventP(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventQ(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventR(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventS(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventT(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventU(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventV(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventW(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventX(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventY(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventDpadDown(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventDpadRight(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventDpadCenter(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventPount(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent0(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent1(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent2(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent3(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent4(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent5(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent6(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent7(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEvent8(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventStart(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventComma(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventPeriod(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventActionRight(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeSpace(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeSYM(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeExplorer(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeEnvelope(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeDel(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMinus(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeEquals(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeLeftBracket(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeRightBracket(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeBackSlash(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeSemicolon(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeApostrophe(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeSlash(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeGrave(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeAT(napi_env env, napi_callback_info info);
napi_value OHInputInjectionStatusSuccess(napi_env env, napi_callback_info info);
napi_value OHInputInjectionStatusError(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodePlus(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMenu(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodePageUp(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodePageDown(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeEscape(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeForwardDel(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMetaRight(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeFunction(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeSysrq(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeBreak(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMoveEnd(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeInsert(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeForward(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMediaPlay(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMediaPause(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMediaClose(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMediaEject(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeMediaRecord(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF2(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF3(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF4(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF5(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF6(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF7(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF8(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF9(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF10(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF11(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeF12(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumLock(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad0(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad1(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad2(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad3(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad4(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad5(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad6(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad7(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpad8(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadDivide(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadMultiply(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadSubtract(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadAdd(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadDot(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadComma(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadEnter(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadEquals(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadLeftParen(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventKeycodeNumpadRightParen(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventFn(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventVolumeUp(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventVolumeDown(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventPower(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventCamera(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventVolumeMute(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventMute(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventBrightnessUp(napi_env env, napi_callback_info info);
napi_value OHInputInjectKeyEventBrightnessDown(napi_env env, napi_callback_info info);
napi_value SetAxisEventAxisValueUnkown(napi_env env, napi_callback_info info);
napi_value SetAxisEventAxisValueVertical(napi_env env, napi_callback_info info);
napi_value SetAxisEventAxisValueHorizontal(napi_env env, napi_callback_info info);
napi_value SetAxisEventAxisValuePinch(napi_env env, napi_callback_info info);
napi_value SetAxisEventAxisValueRotate(napi_env env, napi_callback_info info);
napi_value SetKeyCodePressed(napi_env env, napi_callback_info info);
napi_value SetKeyCodeSwitchOn(napi_env env, napi_callback_info info);
napi_value SetKeyCodeSwitchOff(napi_env env, napi_callback_info info);
napi_value GetKeyEventActionCancel(napi_env env, napi_callback_info info);
napi_value SetMouseEventActionAxisEnd(napi_env env, napi_callback_info info);
napi_value GetMouseEventAxisTypeHorizontal(napi_env env, napi_callback_info info);
napi_value SetMouseEventButtonBack(napi_env env, napi_callback_info info);
napi_value touchEventActionUp(napi_env env, napi_callback_info info);
napi_value touchEventActionCancel(napi_env env, napi_callback_info info);
napi_value SetAxisEventSourceType(napi_env env, napi_callback_info info);
napi_value AxisEventActionCancel(napi_env env, napi_callback_info info);
napi_value OHInputRemoveKeyEventInterceptorDenied(napi_env env, napi_callback_info info);

#endif //SET_KEY_EVENT_KEY_CODE_TEST_H
